package flex.cc.basicinformation.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import flex.cc.base.dto.LoginAuthDto;
import flex.cc.basicinformation.entity.ChannelDataEntity;
import flex.cc.basicinformation.entity.ChannelEntity;
import flex.cc.basicinformation.vo.ChannelVo;

import java.util.List;
import java.util.Map;

/**
 *渠道商
 * @author guozejun
 * @email guozejun@sinosoft.com.cn
 * @date 2021-10-14 22:53:59
 */
public interface ChannelService extends IService<ChannelEntity> {

	IPage<ChannelEntity> queryChannelPage(ChannelEntity channe);

	void saveChannel(ChannelEntity channe, LoginAuthDto loginAuthDto);

	String getChannelName(String channelName, String id);

	ChannelEntity getChannelDetail(Long id);

	/**
	 *
	 * @author WANGCONG
	 * 2021年10月19日下午3:20:19
	 * @desc 根据map参数查询实体信息
	 */
	List<ChannelEntity> findChannelByParam(Map<String, String> channelMap);

	List<ChannelEntity> getAllChannelName();

	String getChannelCode(String channelCode, String id);

	/**
	 *
	 * @author WANGCONG
	 * 2021年10月26日下午4:02:15
	 * @desc 根据渠道商Id查询接口地址信息
	 */
	List<ChannelDataEntity> queryListByYwId(String channelId);

	/**
	 * @description 根据参数查询一个渠道商信息
	 * @param params 请求参数
	 * @return
	 * @author wkangle
	 * @time 2022/02/23 0023 15:55
	 * @exception/throws
	 */
	ChannelEntity getOneByParams(Map<String, Object> params);

	/**
	 * @description 修改渠道商状态【2.2-服务包配置需求】
	 * @param id 渠道商主键
	 * @return
	 * @author wkangle
	 * @time 2022/02/23 0023 17:53
	 * @exception/throws
	*/
	Map<String, String> switchStatus(Long id, String status);

	/**
	 * @description 根据渠道商主键id查询一个，用于修改回显【2.2-服务包配置需求】
	 * @param id 渠道商主键id
	 * @return
	 * @author wkangle
	 * @time 2022/03/04 0004 8:53
	 * @exception/throws
	*/
	ChannelVo queryOne(Long id);

	/**
	 *
	 * @author WANGCONG
	 * 2022年4月13日下午17:16:09
	 * @desc 根据救援单渠道来源查询对应接口信息
	 */
	ChannelDataEntity findChannelDataByParam(Map<String, String> channelMap);

	/**
    *
    * @author WANGCONG
    * 2022年4月14日上午10:45:39
    * @desc 渠道商clientId校验唯一性
    */
	String getChannelClientId(String clientId, String id);
	
}


